#!/bin/bash

# 自动化安装 OpenJDK 17 和 MySQL，并配置 MySQL 远程访问

set -e

# 更新软件包列表
sudo apt-get update

# 安装 OpenJDK 17
sudo apt install -y openjdk-21-jdk

# 安装 MySQL Server
sudo apt install -y mysql-server

# 启动并设置 MySQL 开机自启
sudo systemctl start mysql
sudo systemctl enable mysql

# 修改 root 用户密码与认证方式
sudo mysql <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
UPDATE mysql.user SET Host='%' WHERE User='root';
FLUSH PRIVILEGES;
EOF

# 修改 bind-address 允许远程访问
sudo sed -i "s/^bind-address\s*=.*$/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf

# 重启 MySQL 服务使配置生效
sudo systemctl restart mysql

# 展示 MySQL 服务状态
sudo systemctl status mysql

echo "安装和配置完成！"
echo "MySQL root 用户密码已设置为 'root'，请及时修改为安全密码。"